package com.moliku.insurance.model.entity.axa;

import lombok.Data;

import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;

/**
 * @author 七分
 * @version 1.0
 * @date 2021/3/10 9:36
 * @effect
 */
@Data
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
@XmlType(name = "Policy", propOrder = {
        "planCode",
        "productCode",
        "count",
        "transApplDate",
        "transBeginDate",
        "transEndDate",
        "agentCode",
        "currencyCode",
        "totalActualPremium",
        "totalStandardPremium",
        "party",
        "personalLine","policyNo","paymentMode"}
)
public class AxaPolicy implements Serializable {
    private static final long serialVersionUID = -7700462770362199583L;
    /**
     * 险种
     */
    @XmlElement(required = true, name = "planCode")
    private String planCode;
    /**
     * 产品计划
     */
    @XmlElement(required = true, name = "productCode")
    private String productCode;
    /**
     * 数量  默认1份
     */
    @XmlElement(required = true, name = "count")
    private String count;
    /**
     * 申请时间 yyyy-MM-dd HH:mm:ss
     */
    @XmlElement(required = true, name = "transApplDate")
    private String transApplDate;
    /**
     * 起保时间 yyyy-MM-dd HH:mm:ss
     */
    @XmlElement(required = true, name = "transBeginDate")
    private String transBeginDate;
    /**
     * 终保时间 yyyy-MM-dd HH:mm:ss
     */
    @XmlElement(required = true, name = "transEndDate")
    private String transEndDate;
    /**
     * 代理人代码
     */
    @XmlElement(required = true, name = "agentCode")
    private String agentCode;
    /**
     * 币种 目前只支持人民币
     */
    @XmlElement(required = true, name = "currencyCode")
    private String currencyCode;
    /**
     * 保费
     */
    @XmlElement(required = true, name = "totalActualPremium")
    private String totalActualPremium;
    /**
     * 基准保费
     */
    @XmlElement(required = true, name = "totalStandardPremium")
    private String totalStandardPremium;
    /**
     * 被保险人信息
     */
    @XmlElement(required = true, name = "Party")
    private List<AxaParty> party;

    /**
     * 保单基本信息 投保信息
     */
    @XmlElement(required = true, name = "PersonalLine")
    private AxaPersonalLine personalLine;
    /**退保字段**/
    @XmlElement(required = true,name="policyNo")
    private String policyNo;
    /**
     * 支付方式
     */
    @XmlElement(required = true,name="paymentMode")
    private String paymentMode;
}
